package com.sunday.boot3.user.center.repository.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.time.LocalDateTime;
import com.sunday.common.core.gson.GsonUtils;
import lombok.Data;

/**
 * @Description: 权限表
 * @author: zsy
 * @Create: 2024/09/20 14:34:15
 */
@Data
@TableName("sunday_permissions")
public class Permissions implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @TableId("id")
    private Long id;

    /**
     * 名称
     */
    @TableField("name")
    private String name;

    /**
     * 类别: 10. 后台权限(web 访问数据) 20. 路由权限(route permissions) 21. 页面权限(fine grit permissions) 30. 接口权限(api 能力权限)
     */
    @TableField("category")
    private Integer category;

    /**
     * 路径
     */
    @TableField("url")
    private String url;

    /**
     * 权限位
     */
    @TableField("position")
    private Integer position;

    /**
     * 权限码
     */
    @TableField("code")
    private Long code;

    /**
     * 父级ID
     */
    @TableField("parent_id")
    private Long parentId;

    /**
     * 创建时间
     */
    @TableField("create_time")
    private LocalDateTime createTime;

    /**
     * 最后修改时间
     */
    @TableField("update_time")
    private LocalDateTime updateTime;


    @Override
    public String toString() {
        return GsonUtils.DEFAULT.toJson(this);
    }
}
